package com.nodecollege.cloud.service;

import com.nodecollege.cloud.common.model.BindVO;
import com.nodecollege.cloud.common.model.NCResult;
import com.nodecollege.cloud.common.model.QueryRelationVO;
import com.nodecollege.cloud.common.model.po.UpmsMember;
import com.nodecollege.cloud.common.model.po.UpmsOrg;
import com.nodecollege.cloud.common.model.po.UpmsRole;
import com.nodecollege.cloud.common.model.po.UpmsRoleMember;

/**
 * @author LC
 * @date 2020/1/8 18:41
 */
public interface RoleMemberService {

    /**
     * 根据人员信息查询角色列表
     *
     * @param query
     * @return
     */
    NCResult<UpmsRole> getRoleListByMemberId(QueryRelationVO<UpmsRole, UpmsMember> query);

    /**
     * 根据角色信息获取人员列表
     *
     * @param query
     * @return
     */
    NCResult<UpmsMember> getMemberListByRoleId(QueryRelationVO<UpmsRole, UpmsMember> query);

    /**
     * 绑定/解绑角色成员关系
     *
     * @param bindVO
     */
    NCResult bindRoleMember(BindVO bindVO);

    /**
     * 解除绑定关系
     * @param roleMember
     */
    void unBindRoleMember(UpmsRoleMember roleMember);
}
